인터뷰

코딩=이과생? NO! 비전공자도 30일만 하면 완성!

[인터뷰] 문과생과 비전공자도 쉽게 배우는 파이썬

2023. 02. 16 (목)
코딩이 이과생의 전유물이라 생각했다면,
코딩에 ‘코’자도 모르고, 앞으로도 알 일이 없다고 생각했다면,
챗GPT 열풍을 보며 세상에 뒤처진 위기감에 한숨을 내어 쉰 문과생이라면, 이 인터뷰를 주목해보길 바란다.

여기도 코딩, 저기도 코딩….  코딩을 모르면 뒤처지는 기분이 드는 세상에 살고 있다. 취업난은 심각하다는데 개발자는 못 구해 안달이고, 어떤 이는 개발자로 이직해 높은 연봉을 받는다고. 그 어려운 컴퓨터 언어를 어떻게 척척 써 내려가나 신기하기만 하다.

하지만, 딱 잘라 “코딩은 이렇게 하시면 됩니다”라고 자신 있게 말할 수 있는 사람이 몇 명이나 될까. 세상에 문과생은 많고, 코딩 모르는 비전공자는 더 많다! 이들에게 가장 쉬운 방법으로 코딩의 세계를 안내하는 이가 나타났다. 

코딩뿐만 아니라, 컴퓨터와 관련된 모든 정보를 ‘유쾌하게’ 풀어내는 게 목표라고 말하는 프리랜서 개발자. 바로 <거니의 문과 감성 실용 파이썬>을 쓴 이건희 씨다. 

<거니의 문과 감성 실용 파이썬>을 쓴 이건희 개발자
◇ 문과생을 위한 코딩 책이라고?
- 건희님, 반갑습니다! 자기소개 부탁드릴게요.

컴퓨터와 관련된 정보를 쉽고 유쾌하게 풀어내는 이건희라고 합니다. 유튜브 채널 <코딩하는거니>를 운영하고 있고, 프리랜서 개발자와 콘텐츠 크리에이터로 활동하고 있어요. 2016년부터 약 7년째 컴퓨터 콘텐츠를 만들고 있습니다. 최근에는 코딩과 더불어 컴퓨터를 잘 모르시는 분들께 정보를 쉽게 전달할 수 있는 콘텐츠를 집중해서 만들고 있습니다.



- ‘문과생의, 문과생에 의한, 문과생을 위한’이라고 쓰인 말이 눈에 딱 들어왔어요. 《거니의 문과 감성 실용 파이썬》을 쓰게 된 배경은 무엇인가요?

2년 전 ‘클래스 101’라는 플랫폼에 문과 감성 실용 파이썬과 업무 자동화라는 강의를 올린 적이 있습니다. 이후 감사하게도 출판사로부터 “강의를 책으로 내면 좋겠다”는 좋은 제안을 주셨어요. 강의를 만들 때 여러 이유로 아쉬웠던 부분이 있었는데, 책에서는 그런 부분을 개선하고 최신 내용들을 보완해 완성했습니다. 

코딩을 처음 배우시는 분들에게 기본적인 프로그래밍 지식들을 유쾌하게 알려드리고 싶은 마음이 시작이었어요. 나아가 실제 업무에 도움이 될 만한 프로그램을 같이 만들어보며 실무에 적용할 수 있게 구성했습니다.



- 건희님께서는 컴퓨터공학을 전공하신 걸로 알고 있는데, 비전공자의 코딩 교육에 관심을 두게 된 이유가 있나요?

코딩은 더이상 컴퓨터공학을 전공한 사람들만의 전유물이 아니에요. 코딩의 역사가 이미 100년을 넘었거든요. 그 시간 동안 코드 데이터가 많이 쌓였고, 어렵고 복잡한 일들은 이전 사람들이 다 해놓았습니다.

우리는 3만 개의 부품과, 온갖 복잡한 물리 법칙으로 구성된 자동차의 페달만 밟으면 그 기술을 온전히 누릴 수 있는 시대를 살고 있잖아요. 코딩도 어렵고 복잡한 프로그래밍 코드들은 대부분 정리가 되어 감춰져 있어요. 그것을 어떻게 사용하는지 방법만 알면 프로그래밍의 이점을 누릴 수 있단 뜻이죠. 코딩은 누구나 할 수 있다는 점을 강조하고 싶어서 ‘문과생들을 위한’이라는 표현을 사용했어요.



- 비전공자를 위한 실용서인 만큼, 프로그래밍을 한 번도 해본 적 없는 이가 읽어도 잘 따라올 수 있도록 쓰시는 게 목표였다고요.

좋은 논문은 멋있는 단어로 어렵게 쓰인 게 아니라, 그 학문을 전공하지 않은 사람이 읽더라도 이해하기 쉬어야 된다고 생각합니다. 컴퓨터 관련 문서를 읽다 보면 공학적인 언어가 많이 사용돼요. 잘못된 건 아니죠. 긴 문장으로 설명해야 할 것을 한 단어로 전달할 수 있기도 하니까요. 하지만 어려운 단어 사용이 많아질수록 비전공자와 멀어질 수 있을 것 같다고 생각했습니다. 지적으로 보이는 표현이 아닌, 누구나 이해하기 쉬운 표현 사용에 중점을 뒀어요.



- 심지어 '30일 완성 실습서'라고요. 30일만에 비전공자가 파이썬을 이해하고 업무 활용까지 한다? 진짜 가능한가요? 

프로그래밍의 기초를 알아본 뒤, 파이썬의 특별한 기능들을 배웁니다. 세 개의 예제를 통해 파이썬을 이용해 업무를 자동화하는 방법을 소개하는데요. 사실 사람마다 처한 상황과 필요한 프로그램은 모두 다르잖아요. 

그래서 책에서 집중했던 건 ‘나에게 필요한, 내 상황에 꼭 맞는 자동화 프로그램 만들기’입니다. 실제 프로그래머들이 프로그램을 만들기 전 어떻게 계획을 세우는지, 프로그램을 만들면서 어떤 에러를 만나는지, 에러 수정은 어떻게 하는지 등 모든 과정을 그대로 보여주려고 노력했어요. 

예제 중, 인터넷에서 반복적으로 해야 하는 일을 파이썬으로 자동화하는 연습이 있어요. 네이버 ‘중고나라’ 카페에서 원하는 물건이 올라오는지 확인하는 건데요. 특정 키워드를 일정 시간마다 자동으로 검색해, 그 키워드가 포함된 글이 올라오면 이메일로 알림을 주는 프로그램을 만들어 볼 수 있죠. 

사실, 프로그래밍을 처음 하는 분께 적절한 예제인가 고민도 했는데요. 인터넷은 우리가 매일 사용하는 응용 중 하나이기 때문에, 필요하다고 판단했어요. 계속 낯선 키워드를 조금 더 쉽게 설명해 드릴 수 없을까 고민했던 기억이 납니다.
◇ 파이썬은 인간의 언어를 닮았다
- 많은 프로그래밍 언어 중 비전공자에게 ‘파이썬’을 추천하는 이유가 있나요?

파이썬 자체가 비전공자들을 위해 만들어진 프로그래밍 언어인 만큼, 기존 프로그래밍에 있었던 어려운 부분은 많이 숨겨놨어요. 딱딱한 코드가 아닌 문장을 읽듯 인간에게 자연스러운 모습인데, 이를 통해 컴퓨터와 쉽게 소통할 수 있도록 도와줍니다.

다른 언어는 원하는 프로그램을 만들기 위해 초반 단계부터 직접 진행해야 한다면, 파이썬에는 이미 다른 사람들이 만들어 놓은 13만 개 이상의 도구가 있어요. 내가 필요한 도구를 찾아 사용법만 알면 복잡한 프로그래밍을 쉽게 할 수 있죠. 



- 인간에게 자연스러운 모습을 가지고 있다니, 흥미로운데요! 좀 더 자세히 설명 부탁드려요. 다른 언어와 비교해 설명해주시면 이해하는 데 도움이 될 것 같아요.

파이썬 코드는 일반적인 문장을 읽는 듯하다고 말씀드렸죠. 컴퓨터보다는 인간이 조금 더 이해하기 쉽게 만들어진 단어예요. 예를 들어볼게요. 과일 바구니가 있고 그 바구니에 딸기가 있는지 확인하고 싶습니다. 이를 C언어와 파이썬으로 작성할 때 각각 아래와 같아요.
[C언어]

for(i=0; i<sizeof(fruits) / sizeof(fruits[0]); i++){
    if(strcmp(fruits[i],’딸기’) == 0){
        printf("딸기 발견");
        return 0;
    }
}
printf("딸기 없음");


[파이썬]

print("딸기 발견") if '딸기' in fruits else print("딸기 없음")

차이가 느껴지시나요? 파이썬의 코드는 일반적인 영어 문장과 아주 닮아 있어요. 비전공자도 마치 영어책을 읽듯 이해할 수 있죠. 이 때문에 상대적으로 사용하기 쉬운 언어라고 말할 수 있습니다.
- 신기해요. 정말 영어 문장처럼 뜻이 짐작되네요! 굉장히 간소화된 형태이기도 하고요. 그럼 파이썬을 사용해 일반적으로 다룰 수 있는 프로그램에는 어떤 것이 있나요?

비전공자를 위한 언어로 탄생했지만, 전공자뿐만 아니라 현업에서 빅데이터나 인공지능 등 최신의 기술을 다루는 실무자도 유용하게 쓰는 언어입니다. 간단한 프로그램을 만드는 것부터 게임, 빅데이터 분석, 웹사이트, 인공지능 모델링 등 컴퓨터로 하는 대부분의 일을 다룰 수 있습니다. 또 그에 맞는 도구들도 대부분 준비되어 있으니 골라서 사용만 하시면 됩니다.



- 개발자가 아닌 직장인도, 파이썬을 알아두면 업무에 도움이 될까요? 

파이썬은 직장에서 일상적인 업무를 하는 데에도 큰 도움이 될 수 있습니다. 프로그래밍 언어를 배운다는 건 컴퓨터와 잘 대화하는 방법을 배우는 거죠. 컴퓨터로 어떤 업무를 반복적으로 한다면, 그 행동을 자동으로 해주는 프로그램을 만들 수 있어요. 대신 일하게 만들어 많은 시간을 아낄 수 있죠.

이런 상황을 가정해, 책에선 워드와 엑셀 그리고 웹자동화를 교보재로 선택해 연습합니다. 컴퓨터를 사용해 일하시는 분들은 책을 통해 컴퓨터를 더 잘 이해하실 수 있을 거예요. 컴퓨터로 하는 어떤 일에서든 자신감이 생길 수 있을 겁니다. 
 
◇ “코딩은 컴퓨터가 알아듣도록 번역하는 일에 불과합니다”
- ‘코딩’이란 단어를 수없이 들었지만, 정확하게 ‘무엇이다’라고 설명하긴 어렵더라고요. 코딩은 도대체 무엇인가요?

'코딩한다'라고 한다면, 어떠한 문제가 있을 때 어떻게 해야 잘 풀 수 있을지, 순서대로 그리고 논리적으로 생각하는 것입니다. 그리고 내가 생각한 것을 컴퓨터가 알아들을 수 있는 언어로 번역하는 일이죠. 이후 컴퓨터는 망설이지 않고 그 과정이 맞았는지 틀렸는지 결과를 내어줘요. 만약 틀렸다면 제시한 방법을 되돌아보고, 어디서, 왜 틀렸는지, 어떻게 다른 방법을 써야 하는지 생각하는 과정으로 다시 돌아오죠. 이 프로세스를 반복하는 것이 코딩이라고 생각합니다.



- 개발자도 아닌데, 코딩을 알아야 하는 이유는 뭐죠? 

코딩을 하면 연속적으로 문제를 마주치게 되고 그 문제들을 하나하나 해결하기 위해 노력하게 됩니다. 작은 문제를 해결하다 보면 결국에는 큰 문제가 해결되죠. 그 순간 나만의 창의성이 생겨나고, 제시한 논리가 올바르게 작동하는 걸 눈으로 확인했을 때 거기서 오는 만족감과 성취감이 아주 큽니다.

인생도 그렇잖아요. 살면서 크고 작은 문제에 부딪혀요. 가족 문제, 친구 문제, 이성 문제, 오늘 점심은 어떤 걸 먹을지 같은 작은 문제도 있고요. 코딩은 문제가 생겼을 때, 순서대로, 논리적으로, 효율적으로 해결할 수 있게 도와줍니다. 나만의 논리로 문제를 해결하는 과정에서 창의성이 발휘되고요. 남들이 생각하지 않는 것을 생각할 수 있게 되면, 컴퓨터뿐 아니라 인생의 여러 방면에 도움이 되지 않을까요? 사고하는 능력이 키워지는 거죠.



- 인터뷰하다 보니 코딩을 배우지 않으면 안 될 것 같습니다.(웃음) 전공 관련 없이 어떤 성향의 사람에게 개발 직군을 추천하시나요?

코딩을 하다 보면 문제 해결 과정이 끊임없이 반복됩니다. 정말 사소한 문제 때문에 몇 시간씩 날리는 일이 반복해서 일어나죠. 한 줄의 에러를 찾기 위해 많은 시간이 걸리곤 하는데, 집중력 있게 한 줄 한 줄 코드를 검토할 수 있는 분, 즉 엉덩이가 무거운 분이 아무래도 유리할 수 있습니다.

에러가 나서 프로그램이 실행이 되지 않으면 짜증이 날 수도 있고, 새롭게 나타난 문제를 기쁘게 마주할 수 있어요. 아무래도 긍정적인 마음으로 차분하게 문제를 반길 수 있는 분들에게 잘 맞을 것 같아요. 
◇ 유쾌하고 재미있는, 컴퓨터 지식 크리에이터
- 책 이전엔 유튜브, 플랫폼 등에서 콘텐츠를 만들어오셨잖아요. 어떤 이야기를 하고 싶으셨어요?

처음 유튜브를 시작할 때만 하더라도 개발자가 회사에서 좋지 않은 대우를 받는 일이 많았어요. 매일 야근하면서 회사의 소모품을 취급받는 개발자들을 위해, 이들의 입장을 대변하고 싶었죠. 미국에서 개발자를 대우하는 것처럼 "한국의 개발자들도 국가의 발전에 크게 도움이 될 수 있는 사람들이며, 사람들의 하루를 바꿀 수 있는 능력이 있다"고 목소리를 내겠다는 원대한 꿈이 있었습니다.

근데 요즘 보면 여러 회사에서 개발자를 모셔가는 경쟁을 하고 있고 처우 또한 예전보다 훨씬 좋아진듯 합니다. 저도 회사에 취직할 걸 그랬어요.(웃음) 지금은 컴퓨터 관련된 지식을 비전공자가 잘 이해할 수 있도록, 쉽고 유쾌하게 세상에 전달하는 데 집중하고 있습니다.


- 마지막으로, 어떤 분들께 이 책을 추천하시나요?

코딩을 배우고 싶은데 어떤 언어를 처음으로 배워야 할지 모르는 분들, 코딩을 조금 공부해 봤는데 아직 확실히 감이 안 오시는 분들께 도움이 될 것 같습니다. 특히 일상적으로 컴퓨터를 사용하고, 그중 어떤 행동을 반복적으로 하고 있어 과정을 자동화하고 싶으신 분들에게 이 책이 큰 도움이 될 수 있을 거라 생각합니다.
 
"나도 코딩 쉽게 배워보고 싶다!"
파이썬을 배우고 싶은 <컴퍼니타임스> 독자 10분께 책을 드려요. 
'이벤트 참여하기'를 눌러서 양식을 작성해 주세요. 

이벤트 기간: ~2023.2.26(일)


▶ '책 받으러 가자' 이벤트 참여하기(링크) ◀
장경림 기자 [email protected]